ফায়ারবেস (Firebase) একটি শক্তিশালী প্ল্যাটফর্ম যা বিভিন্ন ধরনের ইভেন্ট ট্রিগার করার সুযোগ প্রদান করে, যেমন Firestore, Authentication, এবং Storage এর ইভেন্ট ট্রিগার। এই ইভেন্টগুলো সাধারণত Cloud Functions ব্যবহার করে পরিচালিত হয়। Cloud Functions for Firebase হলো একটি সার্ভলেস প্ল্যাটফর্ম যেখানে আপনি আপনার Firebase প্রজেক্টে বিভিন্ন ইভেন্ট ট্রিগার করতে পারেন এবং সেগুলোর ওপর কার্যকরী কোড লিখতে পারেন।
এখানে Firestore, Authentication, এবং Storage এর ইভেন্ট ট্রিগার করার উপায় ব্যাখ্যা করা হয়েছে।
Firestore এর ইভেন্ট ট্রিগার
Firestore এ ডেটা আপডেট, ডকুমেন্ট তৈরি বা মুছে ফেলা হলে বিভিন্ন ইভেন্ট ট্রিগার করা যায়। এই ইভেন্টগুলো Cloud Functions এর মাধ্যমে পরিচালিত হয়। Firestore এ ইভেন্ট ট্রিগার করার জন্য আপনাকে প্রথমে Firebase Cloud Functions সেটআপ করতে হবে।
Firestore ইভেন্ট ট্রিগার সেটআপ
প্রথমে, Firebase CLI ইনস্টল এবং ইভেন্ট ট্রিগার সংক্রান্ত কোড Firebase Functions এ যুক্ত করতে হবে।
firebase init functions
এটি ফাংশন তৈরি করার জন্য প্রয়োজনীয় কনফিগারেশন ফাইল তৈরি করবে।
উদাহরণ: ডকুমেন্ট তৈরি হওয়ার পর ইভেন্ট ট্রিগার
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.onUserCreated = functions.firestore
.document('users/{userId}') // 'users' কোলেকশনে নতুন ডকুমেন্ট যুক্ত হলে
.onCreate((snap, context) => {
const newUser = snap.data();
console.log('New user created:', newUser);
// এখানে আপনি প্রয়োজনীয় কোনো কার্যকলাপ সম্পন্ন করতে পারেন,
// যেমন নতুন ব্যবহারকারীকে স্বাগতম মেসেজ পাঠানো বা ডাটাবেস আপডেট করা।
return null;
});
এখানে onCreate() ফাংশনটি যখন users/{userId} ডকুমেন্ট তৈরি হবে, তখন এটি ট্রিগার হবে এবং একটি নতুন ব্যবহারকারী ডেটা লগ করবে।
Firestore এ অন্যান্য ইভেন্ট ট্রিগার:
- onCreate: ডকুমেন্ট তৈরি হলে ট্রিগার হবে।
- onUpdate: ডকুমেন্ট আপডেট হলে ট্রিগার হবে।
- onDelete: ডকুমেন্ট মুছে ফেলা হলে ট্রিগার হবে।
- onWrite: ডকুমেন্টে যেকোনো পরিবর্তন (এড, আপডেট, ডিলেট) ঘটলে ট্রিগার হবে।
Authentication এর ইভেন্ট ট্রিগার
Firebase Authentication এর মাধ্যমে ইভেন্ট ট্রিগার করা যায় যেমন, নতুন ব্যবহারকারী সাইন আপ বা ব্যবহারকারী লগইন করলে। Firebase Authentication এর ইভেন্ট ট্রিগার সাধারণত Cloud Functions এর মাধ্যমে পরিচালিত হয়।
উদাহরণ: নতুন ব্যবহারকারী সাইন আপ হলে ইভেন্ট ট্রিগার
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.onUserSignUp = functions.auth.user().onCreate((user) => {
console.log('New user signed up:', user.email);
// এখানে আপনি নতুন ব্যবহারকারীকে একটি স্বাগতম ইমেইল পাঠাতে পারেন অথবা ডাটাবেসে তাদের তথ্য সংরক্ষণ করতে পারেন।
return null;
});
এখানে functions.auth.user().onCreate() ব্যবহার করা হয়েছে, যা নতুন ব্যবহারকারী সাইন আপ হলে ট্রিগার হবে।
Authentication এর অন্যান্য ইভেন্ট ট্রিগার:
- onCreate: নতুন ব্যবহারকারী সাইন আপ হলে ট্রিগার হবে।
- onDelete: ব্যবহারকারী অ্যাকাউন্ট মুছে ফেলা হলে ট্রিগার হবে।
- onUpdate: ব্যবহারকারীর তথ্য আপডেট হলে ট্রিগার হবে।
Firebase Storage এর ইভেন্ট ট্রিগার
Firebase Storage এ ফাইল আপলোড, ডাউনলোড বা মুছে ফেলা হলে বিভিন্ন ইভেন্ট ট্রিগার করা যায়। Firebase Storage এ ফাইল আপলোড হলে ইভেন্ট ট্রিগার করতে Cloud Functions ব্যবহার করা হয়।
উদাহরণ: ফাইল আপলোড হলে ইভেন্ট ট্রিগার
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
exports.onFileUpload = functions.storage.object().onFinalize((object) => {
console.log('File uploaded:', object.name);
// এখানে আপনি ফাইলটি প্রসেস করতে পারেন, যেমন ইমেজের আকার পরিবর্তন বা মেটাডেটা বিশ্লেষণ করা।
return null;
});
এখানে onFinalize() ফাংশনটি ফাইল সম্পূর্ণভাবে আপলোড হওয়ার পর ট্রিগার হবে। এটি ফাইলের object (যেমন ফাইলের নাম, আকার, ইত্যাদি) প্রদান করবে।
Firebase Storage এ অন্যান্য ইভেন্ট ট্রিগার:
- onFinalize: ফাইল সম্পূর্ণরূপে আপলোড হলে ট্রিগার হবে।
- onDelete: ফাইল মুছে ফেলা হলে ট্রিগার হবে।
- onArchive: ফাইলটি আর্কাইভ হলে ট্রিগার হবে।
- onMetadataUpdate: ফাইলের মেটাডেটা আপডেট হলে ট্রিগার হবে।
সার্ভারলেস ফাংশন ডিপ্লয় করা
ফাংশন লিখে তৈরি করা হলে, Firebase CLI ব্যবহার করে সেগুলো Firebase প্রজেক্টে ডিপ্লয় করা যেতে পারে:
firebase deploy --only functions
এটি আপনার Cloud Functions ডিপ্লয় করবে এবং প্রযোজ্য ইভেন্ট ট্রিগারগুলি Firebase এর সাথে সংযুক্ত হবে।
সারাংশ
Firebase এ Firestore, Authentication, এবং Storage এর ইভেন্ট ট্রিগার করা সম্ভব এবং এটি Cloud Functions এর মাধ্যমে পরিচালিত হয়। Firestore ডেটার পরিবর্তন, Authentication ব্যবহারকারীর অ্যাকশন, এবং Storage এ ফাইল অপারেশনের সাথে সম্পর্কিত ইভেন্টগুলোকে ট্রিগার করতে Cloud Functions ব্যবহার করা হয়। এই ট্রিগারগুলো অনেক প্রকার কার্যকরী প্রক্রিয়া যেমন ডেটা প্রক্রিয়াকরণ, নোটিফিকেশন পাঠানো, ইমেইল পাঠানো ইত্যাদি সম্পন্ন করতে সাহায্য করে।
Read more